package formula.business.dao;

import java.util.List;

import twork.util.basic.ArrayWithTotalList;
import formula.business.model.Driver;
import formula.business.model.Level;
import formula.business.pojo.DriverFilter;

public interface DriverDao {

	public static final String EL_NAME = "#{driverDao}";
	public static final String SPRING_NAME = "driverDao";

	Driver save(Driver _driver);

	Driver merge(Driver _driver);

	void delete(Driver _driver);

	Driver deleteDiver(Long _id);

	public <T> List<T> selectAll(Class<T> c);

	public List<Driver> selectDrivers();

	public Driver selectDriverById(long id);

	public List<Level> selectLevel();

	public List<Driver> searchDrivers(DriverFilter _filter);

	public int searchCountDrivers(DriverFilter _filter);

	ArrayWithTotalList<Driver> searchAndCountDrivers(DriverFilter driverFilter);
}
